// questions.js - 题目路由
const express = require('express');
const router = express.Router();
const questionController = require('../controllers/questionController');

// 引入文件上传中间件
const { uploadMiddleware } = require('../middleware/uploadMiddleware');


// 获取所有题目
router.get('/', questionController.getAllQuestions);

// 上传文件
router.post('/upload', 
  /**
   * 当有 POST 请求来到 /upload 路径时，Multer 首先拦截这个请求，检查并处理其中的文件数据。如果一切正常，Multer 会将解析后的文件信息添加到 req 对象上，并将控制权传递给下一个中间件或路由处理器（即 (req, res) => { ... } 这部分代码）。如果过程中出现错误（如文件大小超出限制），Multer 会调用 next(err) 将错误传递给下一个错误处理中间件。
   */
  uploadMiddleware,
  questionController.uploadImage
);

// 获取单个题目
router.get('/:id', questionController.getQuestion);

// 创建题目（使用多文件上传中间件）
router.post('/', 
  uploadMiddleware, // 使用多文件上传中间件
  questionController.createQuestion
);

// 更新题目
router.put('/:id', questionController.updateQuestion);

// 删除题目
router.delete('/:id', questionController.deleteQuestion);

module.exports = router;